Skip to content

Conversation

@lifflander
Copy link
Collaborator

@lifflander lifflander commented Sep 30, 2025

Fixes #2482

This fixes the Mac build which has been consistently failing due to a much later cmake version:

  Compatibility with CMake < 3.5 has been removed from CMake.

@lifflander lifflander linked an issue Sep 30, 2025 that may be closed by this pull request
@github-actions
Copy link

github-actions bot commented Sep 30, 2025

clang-format output for this changeset:

no modified files to format

@github-actions
Copy link

github-actions bot commented Sep 30, 2025

Pipelines results

vt-build-amd64-ubuntu-20-04-clang-9-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-13-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-10-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-clang-17-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-9-ldms-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-9-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-gcc-12-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-15-cpp

Build for a87c8cd (2025-10-01 16:47:50 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-alpine-3-16-clang-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-14-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-clang-16-vtk-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-clang-16-zoltan-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-gcc-14-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-11-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-10-openmpi-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-12-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-clang-18-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-gcc-12-vtk-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-gcc-13-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-icpx-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-9-cuda-12-2-0-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

/vt/lib/fmt/include/fmt-vt/base.h(472): warning #128-D: loop is not reachable
    for (; n != 0; ++s1, ++s2, --n) {
    ^
          detected during:
            instantiation of "auto fmt::v11::detail::compare(const Char *, const Char *, std::size_t)->int [with Char=char]" at line 591
            instantiation of "auto fmt::v11::basic_string_view<Char>::compare(fmt::v11::basic_string_view<Char>) const->int [with Char=char]" at line 598
            instantiation of class "fmt::v11::basic_string_view<Char> [with Char=char]" at line 2621
            instantiation of "auto fmt::v11::basic_format_args<Context>::get_id(fmt::v11::basic_string_view<Char>) const->int [with Context=fmt::v11::context, Char=char]" at line 2664

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

/vt/lib/fmt/include/fmt-vt/format.h(2596): warning #2417-D: constexpr constructor calls non-constexpr function "fmt::v11::basic_memory_buffer<T, SIZE, Allocator>::basic_memory_buffer(const Allocator &) [with T=fmt::v11::detail::bigint::bigit, SIZE=32UL, Allocator=fmt::v11::detail::allocator<fmt::v11::detail::bigint::bigit>]"
    constexpr bigint() : exp_(0) {}
                                 ^

/vt/lib/fmt/include/fmt-vt/base.h(472): warning #128-D: loop is not reachable
    for (; n != 0; ++s1, ++s2, --n) {
    ^
          detected during:
            instantiation of "auto fmt::v11::detail::compare(const Char *, const Char *, std::size_t)->int [with Char=char]" at line 591
            instantiation of "auto fmt::v11::basic_string_view<Char>::compare(fmt::v11::basic_string_view<Char>) const->int [with Char=char]" at line 598
            instantiation of class "fmt::v11::basic_string_view<Char> [with Char=char]" at line 2621
            instantiation of "auto fmt::v11::basic_format_args<Context>::get_id(fmt::v11::basic_string_view<Char>) const->int [with Context=fmt::v11::context, Char=char]" at line 2664

Remark: The warnings can be suppressed with "-diag-suppress <warning-n

 ==> And there is more. Read log. <==

View job log


vt-build-amd64-ubuntu-20-04-gcc-9-cuda-11-4-3-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

/vt/src/vt/pipe/pipe_manager.impl.h(135): warning: missing return statement at end of non-void function "vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&vt::vrt::collection::lb::GreedyLB::collectHandler, Target=vt::objgroup::proxy::ProxyElm<vt::vrt::collection::lb::GreedyLB>]"
          detected during:
            instantiation of "auto vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&vt::vrt::collection::lb::GreedyLB::collectHandler, Target=vt::objgroup::proxy::ProxyElm<vt::vrt::collection::lb::GreedyLB>]" 
/vt/src/vt/objgroup/proxy/proxy_objgroup.impl.h(221): here
            instantiation of "vt::objgroup::proxy::Proxy<ObjT>::PendingSendType vt::objgroup::proxy::Proxy<ObjT>::reduce<f,Op,Target,Args...>(Target, Args &&...) const [with ObjT=vt::vrt::collection::lb::GreedyLB, f=&vt::vrt::collection::lb::GreedyLB::collectHandler, Op=vt::collective::PlusOp, Target=vt::objgroup::proxy::ProxyElm<vt::vrt::collection::lb::GreedyLB>, Args=<vt::vrt::collection::lb::GreedyPayload>]" 
/vt/src/vt/vrt/collection/balance/greedylb/greedylb.cc(222): here

/vt/src/vt/pipe/pipe_manager.impl.h(135): warning: missing return statement at end of non-void function "vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&vt::vrt::collection::lb::TemperedLB::remoteBlockCountHandler, Target=vt::objgroup::proxy::ProxyElm<vt::vrt::collection::lb::TemperedLB>]"
          detected during:
            instantiation of "auto vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&vt::vrt::collection::lb::TemperedLB::remoteBlockCountHandler, Target=vt::objgroup::proxy::ProxyElm<vt::vrt::collection::lb::TemperedLB>]" 
/vt/src/vt/objgroup/proxy/proxy_objgroup.impl.h(221): here
            instantiation of "vt::objgroup::proxy::Proxy<ObjT>::PendingSendType vt::objgroup::proxy::Proxy<ObjT>::reduce<f,Op,Target,Args...>(Target, Args &&...) const [with ObjT=vt::vrt::collection::lb::TemperedLB, f=&vt::vrt::collection::lb::TemperedLB::remoteBlockCountHandler, Op=vt::collective::

 ==> And there is more. Read log. <==

View job log


vt-build-amd64-ubuntu-22-04-gcc-11-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-clang-10-cpp

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-10-openmpi-cpp-spack

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-15-cpp-cxx20

Build for 9330467 (2025-11-13 19:40:13 UTC)

Compilation – successful

Testing – passed

View job log


@lifflander lifflander requested a review from nlslatt September 30, 2025 22:45
@codecov
Copy link

codecov bot commented Sep 30, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.48%. Comparing base (aca0c9f) to head (61f212c).

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #2483      +/-   ##
===========================================
- Coverage    88.52%   88.48%   -0.04%     
===========================================
  Files          728      728              
  Lines        30909    30910       +1     
===========================================
- Hits         27363    27352      -11     
- Misses        3546     3558      +12     

see 7 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@lifflander lifflander force-pushed the 2482-fix-mac-os-x-build-on-github branch from 8828c9f to fcd712f Compare October 1, 2025 16:47
Copy link
Contributor

@cz4rs cz4rs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems alright as a temporary measure, but might cause issues for users with CMake > 4.0. As long as the CI passes, we can have reasonable confidence that no bugs were introduced by touching cmake_minimum_required.

I think we should upgrade the libs in follow-up issues, this should help with everything except for libfort:

  • mimalloc 3.18
  • EngFormat-Cpp - to activity upstream, but the lib is so small that we should be able to just raise min required version
  • brotli 3.15
  • json is the one that is using 3.5...4.0 actually, not sure about this one
  • libfort - no activity upstream, stuck with 3.0
  • yaml-cpp - 3.5...3.30 here with the explicit comment about avoid CMake warnings 🤷

@cz4rs cz4rs changed the title #2482: lib: update libfort cmake version requirement to avoid failure #2482: lib: update bundled libs cmake version requirements to avoid failure with CMake 4.0 Oct 9, 2025
@nlslatt
Copy link
Collaborator

nlslatt commented Nov 12, 2025

@lifflander This is now critical: Compatibility with CMake < 3.5 has been removed from CMake.

@lifflander lifflander force-pushed the 2482-fix-mac-os-x-build-on-github branch 3 times, most recently from 61f212c to 836b38c Compare November 13, 2025 19:40
@nlslatt nlslatt merged commit b18430d into develop Nov 13, 2025
37 of 38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix mac os x build on github

4 participants